import matplotlib.pyplot as plt
from matplotlib.patches import Patch  # 导入 patches 模块

# 绘制饼状图
# 1.准备数据
labels = ['京东', '拼多多', '淘宝', '天猫', '唯品会', '抖音', '其他']
sizes = [120, 80, 150, 100, 50, 30, 20]
explode = [0.1, 0, 0, 0, 0, 0, 0]

# 2.创建画布
plt.figure(figsize=(8, 8), dpi=100)

# 3.绘制饼状图
wedges, texts, autotexts = plt.pie(
    sizes,
    explode=explode,
    labels=labels,
    autopct='%1.1f%%',
    shadow=True,
    startangle=90,
    colors=['#e74c3c', '#3498db', '#2ecc71', '#f39c12', '#9b59b6', '#16a085', '#bdc3c7'],
    textprops={'fontsize': 12},
    pctdistance=0.85,
    wedgeprops={'linewidth': 1, 'edgecolor': 'white'}
)

# 4.美化文本 - 修正这部分
# 方法1：直接设置 wedges 的属性（推荐）
for wedge in wedges:
    wedge.set_linewidth(1)
    wedge.set_edgecolor('white')

# 方法2：使用 plt.setp 并传入 wedges
# plt.setp(wedges, lin.gecolor='white')
plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False    # 用来正常显示负号
plt.title('2020年各电商平台月度销售数量占比', fontsize=16, fontweight='bold', pad=20)

# 饼状图为正圆形
plt.axis('equal')

# 显示图表
plt.tight_layout()
plt.show()